/*
 * File:   Map.h
 * Author: Elevator
 *
 * Created on August 4, 2013, 8:26 PM
 */

#ifndef MAP_H
#define MAP_H

#include "Common/Common.h"
#include "Obstacle.h"

class Map
{
public:
	Map( );
	Map( ICollection<Obstacle*>* obstacles );
	virtual ~Map( );

	const ICollection<Obstacle*>* GetObstacles( ) const
	{
		return &_obstacles;
	}

	void AddObstacle( Obstacle* obstacle )
	{
		_obstacles.Add( obstacle );
	}

	void RemoveObstacle( Obstacle* obstacle )
	{
		_obstacles.Remove( obstacle );
	}

	virtual void Update( float dt );
	virtual void Draw( ) const;

private:
	Vector<Obstacle*> _obstacles;
};

#endif	/* MAP_H */

